const mysql = require('mysql')
require('dotenv').config()

const pool = mysql.createPool({
  connectionLimit: 20, // 很重要，合理设置根据项目中的sql语句
  host: process.env.MYSQL_HOST,
  port: process.env.MYSQL_PORT,
  user: process.env.MYSQL_USERNAME,
  password: process.env.MYSQL_PASSWORD,
  database: process.env.MYSQL_DATABASE,
})

function query(sql,data) {
  return new Promise((resolve, reject) => {
    // 从连接池获取连接
    pool.getConnection((err, connection) => {
      if (err) {
        console.error('mysql连接失败:', err)
        return
      }

      // mysql链接池成功
      // console.log('mysql链接池成功')

      pool.query(sql,data ,(err, rows, fields) => {
        if (err) {
          reject(err)
        }
        resolve(rows)

        // 释放连接回连接池
        connection.release()
      })
    })
  })
}

//导出模块
module.exports = {
  query,
}
